package ch.supsi.parentalcontrol;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JOptionPane;

public class GestioneSchedaLogin implements ActionListener {

	private Grafica GUI;

	public GestioneSchedaLogin(Grafica GUI) {
		this.GUI = GUI;
	}

	@Override
	public void actionPerformed(ActionEvent e) {
		JButton src = (JButton) e.getSource();
		if (src.getText().equals("Login"))
			login();
		else
			logout();
	}

	private void login() {
		String userName = GUI.getUserName().getText();
		char[] passwd = GUI.getPassword().getPassword();

		if (userName.equalsIgnoreCase("admin")
				&& String.valueOf(passwd).equals("admin")) {
			// sono amministratore e visualizzo la scheda Application
			// e le schede di Amministratore
			for (int i = 0; i < GUI.getSchedario().getTabCount(); i++) {
				if (GUI.getSchedario().getTitleAt(i).equals("Address Admin")
						|| GUI.getSchedario().getTitleAt(i).equals(
								"Browser Admin")
						|| GUI.getSchedario().getTitleAt(i).equals(
								"Administration")) {
					GUI.getSchedario().setEnabledAt(i, true);
				}
			}

			GUI.getUserName().setEnabled(false);
			GUI.getPassword().setEnabled(false);
			GUI.getLoginOK().setText("Logout");
		} else {
			JOptionPane.showMessageDialog(null, "Login Errato", "Error",
					JOptionPane.WARNING_MESSAGE);
		}

	}

	private void logout() {

		// sono amministratore e visualizzo la scheda Application
		// e le schede di Amministratore
		for (int i = 0; i < GUI.getSchedario().getTabCount(); i++) {
			if (GUI.getSchedario().getTitleAt(i).equals("Address Admin")
					|| GUI.getSchedario().getTitleAt(i).equals("Browser Admin")
					|| GUI.getSchedario().getTitleAt(i)
							.equals("Administration")) {
				GUI.getSchedario().setEnabledAt(i, false);
			}
		}
		GUI.getUserName().setEnabled(true);
		GUI.getUserName().setText("");
		GUI.getPassword().setEnabled(true);
		GUI.getPassword().setText("");
		GUI.getLoginOK().setText("Login");

	}

}
